package com.chen.manager.mapper;

import com.chen.model.dto.product.ProductDto;
import com.chen.model.entity.product.Product;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @author cgj
 * @date 3/12/25 7:28 PM
 */
@Mapper
public interface ProductMapper {

    List<Product> selectByPage(ProductDto productDto);

    void insertProduct(Product product);

    /**
     * 根据id查询 商品信息
     * @param id
     * @return
     */
    Product selectById(Long id);

    void updateProduct(Product product);

    void deleteById(Long id);

    /**
     * 商品审核
     * @param id
     * @param auditStatus
     */
    void updateAuditStatus(@Param("id") Long id,
                           @Param("auditStatus") Integer auditStatus,
                           @Param("auditMessage") String auditMessage);

    /**
     * 商品的下架
     * @param id
     * @param status
     */
    void updateStatus(@Param("id") Long id,
                      @Param("status") Integer status);
}
